package cn.lzy.demo;

import cn.lzy.consumer.RoleService;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @Description
 * @Author lzy
 * @Date 2023/12/6 17:38
 * @Version
 **/
public class Demo01 {

    /**
     * 问题一：若同时加载这两个模块的配置文件（默认允许Bean覆盖），那么能不能同时向 Spring 容器中注册两个来自不同模块的同名 Bean 呢？
     * 问题二：如果不允许 Bean 的覆盖，那么能不能同时向 Spring 容器中注册两个来自不同模块的同名 Bean 呢？
     */
    public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext();
        // 设置不允许 Bean 覆盖（false-不允许，true-允许）
        ctx.setAllowBeanDefinitionOverriding(false);
        ctx.setConfigLocations("consumer.xml", "merchant.xml");
        ctx.refresh();
        cn.lzy.consumer.RoleService consumerBean = ctx.getBean(cn.lzy.consumer.RoleService.class);
        cn.lzy.merchant.RoleService merchantBean = ctx.getBean(cn.lzy.merchant.RoleService.class);
    }
}
